package com.ktgj.customer.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ktgj.common.core.annotation.Excel;
import com.ktgj.common.core.web.domain.BaseEntity;

/**
 * 保险
对象 guarantee
 * 
 * @author ruoyi
 * @date 2021-07-27*/
public class Guarantee extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 保单Id*/
    private Long guaranteeId;

    /** 卡号*/
    @Excel(name = "卡号")
    private String cardId;

    /** 保单暂扣时间*/
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "保单暂扣时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date brieflyguaranteeDate;

    /** 暂扣时间操作人编号*/
    @Excel(name = "暂扣时间操作人编号")
    private Long brieflyguaranteeEmployeeId;

    /** 客户基本信息ID*/
    @Excel(name = "客户基本信息ID")
    private Long customerId;

    /** 保险类型ID*/
    @Excel(name = "保险类型ID")
    private Long insTypeId;

    /** 保险公司ID*/
    @Excel(name = "保险公司ID")
    private Long insCoId;

    /** 保单号*/
    @Excel(name = "保单号")
    private String guaranteeNo;

    /** 状态:1初始,2已售出,3已使用,4已出库,5已分配,6已开通,7待作废,8作废，10已退卡,11续费锁定中*/
    @Excel(name = "状态:1初始,2已售出,3已使用,4已出库,5已分配,6已开通,7待作废,8作废，10已退卡,11续费锁定中")
    private String guaranteeStatus;

    /** 保单作废原因*/
    @Excel(name = "保单作废原因")
    private String guaranteeCancleReason;

    /** 分配给谁ID*/
    @Excel(name = "分配给谁ID")
    private Long guaranteemansId;

    /** 作废人ID*/
    @Excel(name = "作废人ID")
    private Long cancelmanId;

    /** 作废时间*/
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "作废时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date canceldate;

    /** 分配部门*/
    @Excel(name = "分配部门")
    private Long gudeptId;

    /** 分配时间等于创建时间*/
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "分配时间等于创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date guaranteedate;

    /** 保单开通状态：0,1未导出，2已导出，3暂缓，4取消暂缓，5退卡，6已开通 9暂扣保单,*/
    @Excel(name = "保单开通状态：0,1未导出，2已导出，3暂缓，4取消暂缓，5退卡，6已开通 9暂扣保单,")
    private String exportstate;

    /** 申请退保人*/
    @Excel(name = "申请退保人")
    private String retguaranteeman;

    /** 申请退保原因*/
    @Excel(name = "申请退保原因")
    private String retguaranteereason;

    /** 申请退保时间*/
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请退保时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date retguaranteedate;

    /** 保单售出时间*/
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "保单售出时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date saleGuaranteeTime;

    /** 保单导出时间
            "*/
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "保单导出时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date exportGuaranteeTime;

    /** 代扣支付回调类型（未知=0,核保响应记录 = 1,退保响应记录= 2,易宝支付回调= 3,易宝退款回调= 4,太平洋已接收到退款成功通知=5,太平洋未接收到退款成功通知= 6)*/
    @Excel(name = "代扣支付回调类型", readConverterExp = "代扣支付回调类型（未知=0,核保响应记录 = 1,退保响应记录= 2,易宝支付回调= 3,易宝退款回调= 4,太平洋已接收到退款成功通知=5,太平洋未接收到退款成功通知= 6)")
    private Long paytype;

    /** 交易流水账号*/
    @Excel(name = "交易流水账号")
    private String payaccountnumber;

    /** 支付金额*/
    @Excel(name = "支付金额")
    private BigDecimal amount;

    /** 请求支付的订单号*/
    @Excel(name = "请求支付的订单号")
    private String payorderid;

    /** 商户编号*/
    @Excel(name = "商户编号")
    private String merid;

    /** 支付结果 1=支付成功*/
    @Excel(name = "支付结果 1=支付成功")
    private Long payresultcode;

    /** 支付通道编码*/
    @Excel(name = "支付通道编码")
    private String bankid;

    /** 支付银行订单号*/
    @Excel(name = "支付银行订单号")
    private String bankorderid;

    /** 用户手续费*/
    @Excel(name = "用户手续费")
    private BigDecimal sourcefee;

    /** 商户手续费*/
    @Excel(name = "商户手续费")
    private BigDecimal targetfee;

    /** 支付成功时间
            支付成功时间*/
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "支付成功时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date paydate;

    /** 交易通知时间*/
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "交易通知时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date trxtime;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createtime;

    /** 返回的扩展信息，存储json 格式*/
    @Excel(name = "返回的扩展信息，存储json 格式")
    private String extjson;

    /** 开保状态 */
    @Excel(name = "开保状态")
    private String openState;

    /** 出生日期 */
    @Excel(name = "出生日期")
    private String birthday;

    /** 性别 */
    @Excel(name = "性别")
    private String sex;

    /** 证件类型 */
    @Excel(name = "证件类型")
    private String certificateType;

    /** 证件号 */
    @Excel(name = "证件号")
    private String licenseNumber;

    /** 手机号 */
    @Excel(name = "手机号")
    private String phone;

    /** 会员关系 */
    @Excel(name = "会员关系")
    private String membership;

    /** 辅营产品id */
    @Excel(name = "辅营产品id")
    private Long assistProductId;

    /** 保险业务来源 */
    @Excel(name = "保险业务来源")
    private String businessSource;

    /** 会员卡号 */
    @Excel(name = "会员卡号")
    private String customerCard;

    /** 邮政编号 */
    @Excel(name = "邮政编号")
    private String postCode;

    /** 配送地址 */
    @Excel(name = "配送地址")
    private String deliveryAddress;

    /** 是否配送 */
    @Excel(name = "是否配送")
    private String whetherShip;

    /** 到达机场三字码 */
    @Excel(name = "到达机场三字码")
    private String arriveAirportCode;

    /** 起飞机场三字码 */
    @Excel(name = "起飞机场三字码")
    private String departureAirportCode;

    /** 行李险单号 */
    @Excel(name = "行李险单号")
    private String baggageNo;

    /** 机票价格 */
    @Excel(name = "机票价格")
    private String ticketPrice;

    /** 产品代码 */
    @Excel(name = "产品代码")
    private String productCode;

    /*------------------------------------------------------------------------*/

    private List<Long> idList;

    /** 会员卡号 */
    @Excel(name = "会员卡号")
    private String cardNum;

    /** 会员姓名 */
    @Excel(name = "会员姓名")
    private String customerName;

    /** 证件号码 */
    @Excel(name = "证件号码")
    private String idNum;

    /** 保险生效时间 */
    @Excel(name = "保险生效时间")
    private String takeEffectTime;

    /** 保险失效时间 */
    @Excel(name = "保险失效时间")
    private String invalidTime;

    /** 保险记录业务来源 */
    @Excel(name = "保险记录业务来源")
    private String orderSource;

    public String getOrderSource() {
        return orderSource;
    }

    public void setOrderSource(String orderSource) {
        this.orderSource = orderSource;
    }

    public String getProductCode() {
        return productCode;
    }

    public void setProductCode(String productCode) {
        this.productCode = productCode;
    }

    public String getTicketPrice() {
        return ticketPrice;
    }

    public void setTicketPrice(String ticketPrice) {
        this.ticketPrice = ticketPrice;
    }

    public String getBaggageNo() {
        return baggageNo;
    }

    public void setBaggageNo(String baggageNo) {
        this.baggageNo = baggageNo;
    }

    public String getDepartureAirportCode() {
        return departureAirportCode;
    }

    public void setDepartureAirportCode(String departureAirportCode) {
        this.departureAirportCode = departureAirportCode;
    }

    public String getArriveAirportCode() {
        return arriveAirportCode;
    }

    public void setArriveAirportCode(String arriveAirportCode) {
        this.arriveAirportCode = arriveAirportCode;
    }

    public String getWhetherShip() {
        return whetherShip;
    }

    public void setWhetherShip(String whetherShip) {
        this.whetherShip = whetherShip;
    }

    public String getDeliveryAddress() {
        return deliveryAddress;
    }

    public void setDeliveryAddress(String deliveryAddress) {
        this.deliveryAddress = deliveryAddress;
    }

    public String getPostCode() {
        return postCode;
    }

    public void setPostCode(String postCode) {
        this.postCode = postCode;
    }

    public String getCustomerCard() {
        return customerCard;
    }

    public void setCustomerCard(String customerCard) {
        this.customerCard = customerCard;
    }

    public String getBusinessSource() {
        return businessSource;
    }

    public void setBusinessSource(String businessSource) {
        this.businessSource = businessSource;
    }

    public Long getAssistProductId() {
        return assistProductId;
    }

    public void setAssistProductId(Long assistProductId) {
        this.assistProductId = assistProductId;
    }

    public String getBirthday() {
        return birthday;
    }

    public void setBirthday(String birthday) {
        this.birthday = birthday;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getCertificateType() {
        return certificateType;
    }

    public void setCertificateType(String certificateType) {
        this.certificateType = certificateType;
    }

    public String getLicenseNumber() {
        return licenseNumber;
    }

    public void setLicenseNumber(String licenseNumber) {
        this.licenseNumber = licenseNumber;
    }

    public String getMembership() {
        return membership;
    }

    public void setMembership(String membership) {
        this.membership = membership;
    }

    public String getCardNum() {
        return cardNum;
    }

    public void setCardNum(String cardNum) {
        this.cardNum = cardNum;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getIdNum() {
        return idNum;
    }

    public void setIdNum(String idNum) {
        this.idNum = idNum;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getTakeEffectTime() {
        return takeEffectTime;
    }

    public void setTakeEffectTime(String takeEffectTime) {
        this.takeEffectTime = takeEffectTime;
    }

    public String getInvalidTime() {
        return invalidTime;
    }

    public void setInvalidTime(String invalidTime) {
        this.invalidTime = invalidTime;
    }

    public List<Long> getIdList() {
        return idList;
    }

    public void setIdList(List<Long> idList) {
        this.idList = idList;
    }

    public String getOpenState() {
        return openState;
    }

    public void setOpenState(String openState) {
        this.openState = openState;
    }

    public void setGuaranteeId(Long guaranteeId)
    {
        this.guaranteeId = guaranteeId;
    }

    public Long getGuaranteeId() 
    {
        return guaranteeId;
    }
    public void setCardId(String cardId) 
    {
        this.cardId = cardId;
    }

    public String getCardId() 
    {
        return cardId;
    }
    public void setBrieflyguaranteeDate(Date brieflyguaranteeDate) 
    {
        this.brieflyguaranteeDate = brieflyguaranteeDate;
    }

    public Date getBrieflyguaranteeDate() 
    {
        return brieflyguaranteeDate;
    }
    public void setBrieflyguaranteeEmployeeId(Long brieflyguaranteeEmployeeId) 
    {
        this.brieflyguaranteeEmployeeId = brieflyguaranteeEmployeeId;
    }

    public Long getBrieflyguaranteeEmployeeId() 
    {
        return brieflyguaranteeEmployeeId;
    }
    public void setCustomerId(Long customerId) 
    {
        this.customerId = customerId;
    }

    public Long getCustomerId() 
    {
        return customerId;
    }
    public void setInsTypeId(Long insTypeId) 
    {
        this.insTypeId = insTypeId;
    }

    public Long getInsTypeId() 
    {
        return insTypeId;
    }
    public void setInsCoId(Long insCoId) 
    {
        this.insCoId = insCoId;
    }

    public Long getInsCoId() 
    {
        return insCoId;
    }
    public void setGuaranteeNo(String guaranteeNo) 
    {
        this.guaranteeNo = guaranteeNo;
    }

    public String getGuaranteeNo() 
    {
        return guaranteeNo;
    }

    public String getGuaranteeStatus() {
        return guaranteeStatus;
    }

    public void setGuaranteeStatus(String guaranteeStatus) {
        this.guaranteeStatus = guaranteeStatus;
    }

    public void setGuaranteeCancleReason(String guaranteeCancleReason)
    {
        this.guaranteeCancleReason = guaranteeCancleReason;
    }

    public String getGuaranteeCancleReason() 
    {
        return guaranteeCancleReason;
    }
    public void setGuaranteemansId(Long guaranteemansId) 
    {
        this.guaranteemansId = guaranteemansId;
    }

    public Long getGuaranteemansId() 
    {
        return guaranteemansId;
    }
    public void setCancelmanId(Long cancelmanId) 
    {
        this.cancelmanId = cancelmanId;
    }

    public Long getCancelmanId() 
    {
        return cancelmanId;
    }
    public void setCanceldate(Date canceldate) 
    {
        this.canceldate = canceldate;
    }

    public Date getCanceldate() 
    {
        return canceldate;
    }
    public void setGudeptId(Long gudeptId) 
    {
        this.gudeptId = gudeptId;
    }

    public Long getGudeptId() 
    {
        return gudeptId;
    }
    public void setGuaranteedate(Date guaranteedate) 
    {
        this.guaranteedate = guaranteedate;
    }

    public Date getGuaranteedate() 
    {
        return guaranteedate;
    }

    public String getExportstate() {
        return exportstate;
    }

    public void setExportstate(String exportstate) {
        this.exportstate = exportstate;
    }

    public void setRetguaranteeman(String retguaranteeman)
    {
        this.retguaranteeman = retguaranteeman;
    }

    public String getRetguaranteeman() 
    {
        return retguaranteeman;
    }
    public void setRetguaranteereason(String retguaranteereason) 
    {
        this.retguaranteereason = retguaranteereason;
    }

    public String getRetguaranteereason() 
    {
        return retguaranteereason;
    }
    public void setRetguaranteedate(Date retguaranteedate) 
    {
        this.retguaranteedate = retguaranteedate;
    }

    public Date getRetguaranteedate() 
    {
        return retguaranteedate;
    }
    public void setSaleGuaranteeTime(Date saleGuaranteeTime) 
    {
        this.saleGuaranteeTime = saleGuaranteeTime;
    }

    public Date getSaleGuaranteeTime() 
    {
        return saleGuaranteeTime;
    }
    public void setExportGuaranteeTime(Date exportGuaranteeTime) 
    {
        this.exportGuaranteeTime = exportGuaranteeTime;
    }

    public Date getExportGuaranteeTime() 
    {
        return exportGuaranteeTime;
    }
    public void setPaytype(Long paytype) 
    {
        this.paytype = paytype;
    }

    public Long getPaytype() 
    {
        return paytype;
    }
    public void setPayaccountnumber(String payaccountnumber) 
    {
        this.payaccountnumber = payaccountnumber;
    }

    public String getPayaccountnumber() 
    {
        return payaccountnumber;
    }
    public void setAmount(BigDecimal amount) 
    {
        this.amount = amount;
    }

    public BigDecimal getAmount() 
    {
        return amount;
    }
    public void setPayorderid(String payorderid) 
    {
        this.payorderid = payorderid;
    }

    public String getPayorderid() 
    {
        return payorderid;
    }
    public void setMerid(String merid) 
    {
        this.merid = merid;
    }

    public String getMerid() 
    {
        return merid;
    }
    public void setPayresultcode(Long payresultcode) 
    {
        this.payresultcode = payresultcode;
    }

    public Long getPayresultcode() 
    {
        return payresultcode;
    }
    public void setBankid(String bankid) 
    {
        this.bankid = bankid;
    }

    public String getBankid() 
    {
        return bankid;
    }
    public void setBankorderid(String bankorderid) 
    {
        this.bankorderid = bankorderid;
    }

    public String getBankorderid() 
    {
        return bankorderid;
    }
    public void setSourcefee(BigDecimal sourcefee) 
    {
        this.sourcefee = sourcefee;
    }

    public BigDecimal getSourcefee() 
    {
        return sourcefee;
    }
    public void setTargetfee(BigDecimal targetfee) 
    {
        this.targetfee = targetfee;
    }

    public BigDecimal getTargetfee() 
    {
        return targetfee;
    }
    public void setPaydate(Date paydate) 
    {
        this.paydate = paydate;
    }

    public Date getPaydate() 
    {
        return paydate;
    }
    public void setTrxtime(Date trxtime) 
    {
        this.trxtime = trxtime;
    }

    public Date getCreatetime() {
        return createtime;
    }

    public void setCreatetime(Date createtime) {
        this.createtime = createtime;
    }

    public Date getTrxtime()
    {
        return trxtime;
    }
    public void setExtjson(String extjson) 
    {
        this.extjson = extjson;
    }

    public String getExtjson() 
    {
        return extjson;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("guaranteeId", getGuaranteeId())
            .append("cardId", getCardId())
            .append("brieflyguaranteeDate", getBrieflyguaranteeDate())
            .append("brieflyguaranteeEmployeeId", getBrieflyguaranteeEmployeeId())
            .append("customerId", getCustomerId())
            .append("insTypeId", getInsTypeId())
            .append("insCoId", getInsCoId())
            .append("guaranteeNo", getGuaranteeNo())
            .append("guaranteeStatus", getGuaranteeStatus())
            .append("guaranteeCancleReason", getGuaranteeCancleReason())
            .append("guaranteemansId", getGuaranteemansId())
            .append("cancelmanId", getCancelmanId())
            .append("canceldate", getCanceldate())
            .append("gudeptId", getGudeptId())
            .append("guaranteedate", getGuaranteedate())
            .append("exportstate", getExportstate())
            .append("retguaranteeman", getRetguaranteeman())
            .append("retguaranteereason", getRetguaranteereason())
            .append("retguaranteedate", getRetguaranteedate())
            .append("saleGuaranteeTime", getSaleGuaranteeTime())
            .append("exportGuaranteeTime", getExportGuaranteeTime())
            .append("paytype", getPaytype())
            .append("payaccountnumber", getPayaccountnumber())
            .append("amount", getAmount())
            .append("payorderid", getPayorderid())
            .append("merid", getMerid())
            .append("payresultcode", getPayresultcode())
            .append("bankid", getBankid())
            .append("bankorderid", getBankorderid())
            .append("sourcefee", getSourcefee())
            .append("targetfee", getTargetfee())
            .append("paydate", getPaydate())
            .append("trxtime", getTrxtime())
            .append("createtime", getCreatetime())
            .append("extjson", getExtjson())
            .toString();
    }
}
